A Denotational Approach for Type-Checking in Object-Oriented Programming Languages
نویسنده
چکیده
Starting with a pragmatical (but formal) deenition of type in object-oriented languages, this paper proposes a method to test type safety in this kind of language. We say that a language is (type) safe if it ensures that, during the execution of a correct program, every message sent to an object is matched by an appropriate method. We deene a \typical" object oriented programming language, featuring multiple inheritance , recursive types, and separation between speciications and implementations. Then, we give a formal deenition for its type system, and a denotational semantics for the execution of the language, based on message passing. Finally, we formally prove that our language is type safe. Along the work, better understanding is gained about many problems related with type systems in object-oriented languages.
منابع مشابه
A Functional Object
The language BCOOL is formally deened using a denotational semantics approach. BCOOL is a functional object database language with a very exible, yet strong and statically checked, type system. Its main source of exibility is its support for object evolution, that is, dynamic type changes of existing objects. Originally, BCOOL was used as a formal basis for a more traditional (relational algebr...
متن کاملA semantic model of a small typed functional language using Object-Z
The Object-Z notation is a good meta-language that can be used to specify denotational semantics of programming languages. It has been effectively applied to some categories of languages. These include the procedural languages, the object-oriented procedural languages [9] and specification languages [8]. To widen these catergories, this paper applies Object-Z to the specification of the semanti...
متن کاملA wide spectrum type system for transformation theory
0.1 History Of Type Systems . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1 0.1.1 Lambda Calculus . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1 0.1.2 Type Systems In Imperative Programming Languages . . . . . . . . . . . . . 2 0.1.3 Type Systems In Object-Oriented Programming Languages . . . . . . . . . . . 5 0.1.4 Type Systems In Functional Programming...
متن کاملA Formal Semantics for Checking and Analysing UML models
The Unified Modelling Language (UML) is becoming a global standard diagrammatic notation for expressing and describing object-oriented models. Recently, the Object Constraint Language (OCL) has been proposed as a standard expression language for expressing additional constraints on UML models, which are not conveniently expressible in a diagrammatic form. In this paper we provide an approach fo...
متن کاملDialgebraic Semantics of Typed Object Calculi
Algebraic data type theory has a notion of structural recursion. Coalgebraic data types similarly have a notion of structural corecursion. In this thesis we study a third form of recursion: direcursion. The other two notions have been used in program derivations, correctness proofs, and in foundations of functional and class-based languages. Direcursion, on the other hand, has not been extensiv...
متن کاملذخیره در منابع من
با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید
عنوان ژورنال:
- Comput. Lang.
دوره 19 شماره
صفحات -
تاریخ انتشار 1993